Integrated operating system search using scope options

ABSTRACT

Methods and systems are provided for narrowing a scope of a search on a computing device to provide relevant search results to the user. Prior to receiving a search query from the user in a search box of a desktop taskbar, scope options are communicated for presentation from which the user can select. These scope options enable the user to select from web-based searches and local searches. A selection is received form the user of one of the scope options. Suggested search results are generated based on this scope option selection. At least one suggested search results is communicated for presentation on a display of the computing device.

CROSS-REFERENCE INFORMATION

This application is a Continuation of Application of U.S. applicationSer. No. 16/601,187 entitled “Integrated Operating System Search UsingScope Options,” and filed Oct. 14, 2019, which is a continuationapplication of U.S. application Ser. No. 15/141,529, entitled“Integrated Operating System Search Using Scope Options,” and filed Apr.28, 2016. The aforementioned applications are incorporated by referenceherein.

BACKGROUND

Search systems provided on a user's computing device, such as on adesktop screen, have traditionally been difficult for the user tonavigate. Even more, some of these systems are limited to searchinglocal documents only. When using a traditional-type search box on auser's desktop, the user may not find success the first few times ofuse, and thus will give up and not think about using it the next timethat user desires to perform a search. Because of the wide range ofdomains available for a user to search, search results using these typesof systems can be irrelevant to the user's intent, which may cause theuser to abandon this search function.

Search functions exist on the Internet, such as search engines thatsearch for web documents and websites based on a search query. Further,some e-mail systems have a search function to search for e-mails in thatsystem based on a keyword query. However, each of these search systemsis separate and is capable of searching only one domain (e.g., web,e-mails), and requires the user to perform multiple searches in eachsystem.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used in isolation as an aid in determining the scope of the claimedsubject matter.

Aspects of the technology described herein are directed to narrowing orfiltering search results by way of selectable scope options available tothe user. For instance, scope options could include “files,” “apps,”“photos,” “videos,” “music,” “settings,” “web,” etc. While some of thesescope options include items in the same domain, some are in differentdomains. For instance, searching for documents on the web searches adifferent domain than searching for documents on the user's computer.There is enormous benefit in having a single search box that can be usedby a user to search different domains, such as both documents on the weband those on the computer (e.g., saved locally) either in separatesearches or simultaneously. However, to assist the user in obtainingsearch results that are valuable and satisfy the user's try intent,scope options are provided. Scope options could be selected by the userbefore the user has even entered any characters into the search box. Forinstance, generic search results may be provided to the user when theuser interacts with the search box, but before the user enters a searchquery or selects a scope option. When the user selects a scope option,these generic search results, which could be results pertaining to theuser's recent activity, popular searches, etc., are filtered to satisfythe particular scope options elected. Therefore, even though the userhas not yet even entered a search query (e.g., zero input), the returnedsearch results are tailored to the user's intent.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the technology described in the present application aredescribed in detail below with reference to the attached drawingfigures, wherein:

FIG. 1 is a block diagram of an exemplary computing environment suitablefor implementing aspects of the technology described herein;

FIG. 2 is a screenshot of an exemplary desktop with a search box, inaccordance with aspects herein;

FIG. 3 is a screenshot of an exemplary desktop having a zero input boxand search options, in accordance with aspects herein;

FIG. 4 is a screenshot of an exemplary desktop having a zero input boxand search options, in accordance with aspects herein;

FIG. 5 is a screenshot of an exemplary desktop having a zero input boxand search options, in accordance with aspects herein;

FIG. 6 is a screenshot of an exemplary desktop having a zero input box,in accordance with aspects herein;

FIG. 7 is a screenshot of an exemplary desktop having a zero input boxand search options, in accordance with aspects herein;

FIG. 8 is a screenshot of an exemplary desktop having a zero input boxand search options, in accordance with aspects herein;

FIG. 9 is a screenshot of an exemplary desktop having a zero input box,in accordance with aspects herein;

FIG. 10 is a flow diagram depicting a method for enabling a user tonarrow a scope of a search on a computing device to provide relevantsearch results to the user, in accordance with an aspect of thetechnology described herein;

FIG. 11 is a flow diagram depicting another method for enabling a userto narrow a scope of a search on a computing device to provide relevantsearch results to the user, in accordance with an aspect of thetechnology described herein; and

FIG. 12 is a block diagram of an exemplary computing environmentsuitable for implementing aspects of the technology described herein.

DETAILED DESCRIPTION

The technology of the present application is described with specificityherein to meet statutory requirements. However, the description itselfis not intended to limit the scope of this patent. Rather, the inventorshave contemplated that the claimed subject matter might also be embodiedin other ways, to include different steps or combinations of stepssimilar to the ones described in this document, in conjunction withother present or future technologies. Moreover, although the terms“step” and/or “block” may be used herein to connote different elementsof methods employed, the terms should not be interpreted as implying anyparticular order among or between various steps herein disclosed unlessand except when the order of individual steps is explicitly described.

Typically in systems that allow for a user to perform a search from adesktop taskbar, users may not discover the full capabilities of thesearch box. Users who do not find some success tend to discover and useonly one of the many functions of the search box. Additionally, theoverall success of the user's search sessions may be sub-optimal due tothe imperfect ability of the system to decipher the user's intent givenimprecise search queries across a wide range of possible domains. Theuser may then abandon the search function after very few attempts if itdoes not prove its utility within these first few search sessions.

In an effort to provide technical solutions to the traditional systemsof searching either on the web or on a desktop, embodiments describedherein enable a user to refine search results by presenting selectablescope options in the zero input box, such as above, below, or to oneside of the search results. Using the scope options, the user may beable to search web (e.g., an Internet search) or local documents (e.g.,searching the user's hard drive for applications, files, images,settings). For instance, a user may be using his/her computing devicewith the intent of searching one of multiple types of searches, such as,for example, to find a document, open an application, adjust anoperating system setting, search the web, or the like. The user mayselect or otherwise interact (e.g., mouse click, touch input, stylusinput, keyboard shortcut) with the search box, such as the search boxintegrated with the operating system of the computing device. Thisindicates to the system that the user wishes to use the search function.Prior to the user entering any search query into the search box, theuser may be presented with a zero input box, which may include asequence of scope options, such as iconographic buttons (e.g., buttonswith text labels). While traditional systems may not even present a zeroinput box, such as one with generic suggested search results, and maywait for the user to enter a search query, aspects described herein havethe advantage of providing the user with some suggested results beforethe user has even entered a query, which could greatly reduce the timeof the search session.

An additional benefit for the user of this system is related toergonomics. If the user's default hand position while using theircomputer is to have one hand on the mouse, the zero input scoping systemas described herein may allow the user to find desired result(s) withoutmoving his/her hand from the mouse to the keyboard. For example, thepattern would be click-click-click instead of click-click-<movehand>type-type-<move hand>-click.

Some examples of scope options include “apps,” “documents,” “settings,”“web,” etc. The presence of these options, which may include an iconwith an image, text label, or both, enables the user to understand thearray of capabilities of the search system, regardless of whether or notthe user selects any of the scope options. For instance, the user mayhave, on his/her own, discovered that the search box is great foropening applications and continue to use it for that purpose, but couldremain unaware that this search box is also capable of searching theweb. The presence of the scope options provides an unobtrusiveopportunity or user education each time the scope options are presented.FIGS. 2-9 illustrate exemplary screenshots of integrated desktop taskbarsearch boxes, zero input boxes, and scope options. It should be notedthat the size, number, order, labels, specific iconography, etc., aremodifiable. Further, the specific set of scope options provided to auser could be static (unchanging) or could be dynamic based on signalssuch as the user's past use, location, installed software, systemcapabilities, or user preferences. If the user does select one of thescope options, this input is interpreted as a “scope restriction” by thesearch system. In the subsequent screen, the user is shown suggestedresults of the scoped search, even before the user has entered a singlecharacter into the search box, as the user has restricted the search byway of the selected scope option. The user could select a particularsuggested result, if it is displayed, or could decide to start enteringcharacters into the search box to further refine their search.

As such, aspects of the technology described herein facilitate narrowinga user's search by providing selectable scope options that tailor whichdocuments are provided in a set of search results. For example, insteadof requiring a user to open a browser window, navigate to a searchengine, and submit a search query to retrieve web search results,embodiments provided herein allow a user to use the search box providedon the desktop, such as, for example, on the desktop taskbar, to searchboth for documents on the web and locally-stored documents. The user isable to select a scope option based on the user's current search intent.

In embodiments, the scope options may be presented on the user's desktopor some other user interface on the display 112 even before any searchquery has been entered in the search box in the desktop toolbox. Forexample, the user may interact with the search box by hovering over itor selecting some portion of it, which, in one embodiment, causes a zeroinput box to be displayed. This screen may not take up the entiredisplay, but in some embodiments, may take up just a portion of thedisplay. FIG. 3, among others, illustrates a zero input box. The zeroinput box may initially include a plurality of scope options andsuggested search results, such as popular searches, recent documents,etc. These types of results may be displayed until, for example, theuser selects a scope option, enters a search query, or both. Once theuser selects a scope options, the search results may be tailored to fitthe particular type of results indicated by the selected scope option.For example, if the “applications” scope option is selected, the currentsearch results may be removed and replaced with only search results thatare or that represent applications. As another example, if the “web”scope option is selected, only search results that are on the web arepresented. Subsequent to a first scope option being selected, a secondscope option may be selected. In one embodiment, the selection of asecond scope option may even further narrow the search results such thatboth the first and second scope options are applied, but in anotherembodiment, the first scope option is replaced with the second scopeoption such that the search results are tailored only to the secondscope option.

In embodiments, the system may not be able to provide any suggestedsearch results as a result of a user selecting a scope option. In thiscase, the user may be prompted to enter at least a portion of a searchquery into the search box. The suggested search results based on that atleast a portion of the search query would then be refined or filteredbased on the previously selected scope option. Even though no searchresults were provided to the user based solely on the selected scopeoption, the user's intent is still captured by providing refined searchresults based on the user's entered, at least partial query.

According to a first aspect herein, a method is provided for enabling auser to narrow a scope of a search on a computing device to providerelevant search results to the user. The method includes, prior toreceiving a search query from the user in a search box of a desktoptaskbar, communicating for presentation a plurality of scope optionsfrom which the user can select, wherein the plurality of scope optionsenable the user to select from web-based searches and local searches.Further, the method includes receiving a selection from the user of oneof the plurality of scope options and based on the received selection ofthe one of the plurality of scope options, generating at least onesuggested search result to present to the user. The method additionallyincludes communicating for presentation the at least one suggestedsearch result on a display of the computing device.

According to a second aspect herein, a computing device is provided. Thecomputing device includes at least one processor and a computer storagememory having computer-executable instructions stored thereon which,when executed by the at least one processor, configure the computingdevice to perform method steps. The method includes, prior to receivinga search query from the user in a search box of a desktop taskbar,communicating for presentation a plurality of scope options from whichthe user can select, wherein the plurality of scope options enable theuser to select from web-based searches and local searches, and receivinga selection from the user of one of the plurality of scope options.Further, the method includes, based on the received selection of the oneof the plurality of scope options, generating at least one suggestedsearch result to present to the user, and communicating for presentationthe at least one suggested search result on a display of the computingdevice.

According to a third aspect herein, one or more computer storagehardware devices having computer-executable instructions embodiedthereon are provided that, when executed, enable a user to narrow ascope of a search on a computing device to provide relevant searchresults to the user. The method includes providing a search box on adesktop taskbar, where the search box enables the user to search both onthe web and locally, and receiving an indication that the user isinteracting with the search box. Further, the method includes, inresponse to the indication and prior to receiving a search query fromthe user in the search box of the desktop taskbar, communicating forpresentation a plurality of scope options that allow the user to selectfrom web-based searches or local searches. Additionally, the methodincludes receiving a selection from the user of one of the plurality ofscope options, generating one or more suggested search results based onthe received selection of the one of the plurality of scope options, andcommunicating for presentation the one or more suggested search resultsthat are based on the received selection of the one of the plurality ofscope options.

Having briefly described an overview of aspects of the technologydescribed herein, an exemplary operating environment suitable for use inimplementing the technology is described below.

Exemplary Operating Environment

Turning now to FIG. 1, a block diagram is provided showing an exampleoperating environment 100 in which some aspects of the presentdisclosure may be employed. It should be understood that this and otherarrangements described herein are set forth only as examples. Otherarrangements and elements (e.g., machines, interfaces, functions,orders, and groupings of functions, etc.) can be used in addition to orinstead of those shown, and some elements may be omitted altogether forthe sake of clarity. Further, many of the elements described herein arefunctional entities that may be implemented as discrete or distributedcomponents or in conjunction with other components, and in any suitablecombination and location. Various functions described herein as beingperformed by one or more entities may be carried out by hardware,firmware, and/or software. For instance, some functions may be carriedout by a processor executing instructions stored in memory.

Among other components not shown, example operating environment 100includes a user computing device 110, a data store 116, and a scopeoption component 118. It should be understood that environment 100 shownin FIG. 1 is an example of one suitable operating environment. Each ofthe components shown in FIG. 1 may be implemented via any type ofcomputing device, such as computing device 1200 described in connectionto FIG. 12, for example. These components may communicate with eachother via network 120, which may include, without limitation, one ormore local area networks (LANs) and/or wide area networks (WANs). Inexemplary implementations, network 120 comprises the Internet and/or acellular network, amongst any of a variety of possible public and/orprivate networks.

User computing device 110 may be a device on the client-side ofoperating environment 100, while the other components illustrated inFIG. 1, may be on the server side of operating environment 100.

User computing device 110 may comprise any type of computing devicecapable of use by a user. For example, in one aspect, user computingdevice 110 may be the type of computing device 1200 described inrelation to FIG. 12 herein. By way of example and not limitation, a userdevice may be embodied as a personal computer (PC), a laptop computer, amobile or mobile device, a smartphone, a tablet computer, a smart watch,a wearable computer, a virtual reality headset, augmented realityglasses, a personal digital assistant (PDA), an MP3 player, a globalpositioning system (GPS) or device, a video player, a handheldcommunications device, a gaming device or system, an entertainmentsystem, a vehicle computer system, an embedded system controller, aremote control, an appliance, a consumer electronic device, aworkstation, or any combination of these delineated devices, or anyother suitable device.

User computing device 110 comprises a display 112 and a search function114. For instance, the display 112 may display a search box, a zeroinput box, scope options, etc. The search function 114 enables a user tosearch for documents, files, folders, applications, settings, etc., bothon the web and locally. For example, instead of a user being required toopen a browser to search for a document or other type of file on theweb, the user can simply utilize a single search box on the user'sdesktop to search for any types of documents or other files. As such,the search function 114 allows for a single search box to be displayedon the display 112 so that the user can search all types of documentsacross multiple domains in a single search, including those on the weband those stored locally on the user computing device 110. The user mayhave the capability to search, for instance, documents on the computer,documents stored in the user's cloud storage, web documents, web sites,system setting, etc.

The scope option component 118 includes a scope option generator 122, asearch results generator 124, and a display component 126. While in FIG.1, the scope option component 118 is illustrated as being accessed byway of a network, in one instance, the steps performed by the scopeoption component 118 are performed locally, such as by the user device110. As such, in these instances, the Internet or other network may notbe utilized to provide scope options, generate search results, anddisplay the results to the user. In other words, even when the userdevice 110 is offline, the user may be able to utilize the functionalityof the scope options when performing a search. The user device 110 mayeven be able to cache, in its own data store, a default set of scopeoptions that can be provided to the user when the user interacts withthe search box.

Generally, the scope option component 118 is responsible for generatingand presenting the user, on the display 112, with a plurality of scopeoptions that can be used by the user to narrow the search scope evenbefore any search query has been inputted into the search box (zeroinput). The zero input box, illustrated initially in FIG. 3, is an areaof a desktop the appears when the user first interacts with the searchbox, even if the user has not yet entered anything into the search box.Once the search has been narrowed by way of scope options, searchresults may be produced, and can be presented to the user with orwithout a search query having been entered into the search box.

The scope option generator 122 is generally responsible for generatingscope options, which are displayed by way of the display component 126.Scope options, as used herein, are options that are selectable to a userwho wishes to perform a search or at least be provided with suggestedresults (e.g., such as when a search query is not entered by the user).The scope options function to narrow the search so that only the mostrelevant search results are returned to the user. For example, if theuser wishes to search only for applications on his/her computing device,a scope options may be available that provides results that areapplications only. If the user wishes to search only web documents, asearch options may be available that would produce only web documents.Other exemplary search options include “settings,” “music,” “images,”“videos,” and “files,” although other search options not specificallymentioned herein are contemplated to be within the scope of aspectsprovided herein.

While traditionally, suggested search results, such as resultsassociated with a user's recent activity or based on popular searches,have been provided to a user without any scope options, aspects providedherein facilitate a more efficient way to narrow a search. This moreefficient way provides search results that are more relevant to theuser's intent. As such, the search results generator 124 is generallyresponsible for providing search results, whether the search is based onsolely a selected scope option, a user's entered search query, or both.

FIGS. 2-9 illustrate various screenshots of exemplary desktops, somehaving zero input boxes and scope options. Turning initially to FIG. 2,a screenshot is depicted of an exemplary desktop 200 with a search box,in accordance with aspects herein. Desktop 200 includes a taskbar 210and a search box 212. As shown here, the search box 212 is integratedinto the taskbar 210, but this is illustrated for exemplary purposesonly. Alternatively, the search box could be located in another portionof the desktop, or even on another screen other than the desktop. Asused herein, the desktop screen refers to the screen that appears on thedisplay prior to any applications or files being opened by the user. Forexample, the desktop screen may be blank but may show files that arestored on the user's desktop. As mentioned, the search box could belocated in another area of the display.

FIG. 3 is a screenshot of an exemplary desktop 300 having a zero inputbox and scope options, in accordance with aspects herein. From FIG. 2, auser may have somehow interacted with the search box 212, such ashovering, selecting, clicking in the search box 212, etc. Onceinteracted with, FIG. 3 illustrates that a zero input box 320 appears ona portion of the desktop 300. FIG. 3, illustrating both a taskbar 310and a search box 312, also illustrates that a user has interacted withthe search box 312 by showing a cursor 314 in the search box 312. Asmentioned, as a result of this interaction, the zero input box 320 hasappeared. The zero input box 320 comprises two portions, one being thesearch results portion and the other being the scope options portion316. The search results portion, at least initially, could include filesand other items related to the user's recent activity on the computingdevice, and popular searches, such as recent news events, most oftensearched/viewed results, etc. In embodiments, these search results thatappear before a user has entered a search query and even before the userhas selected a scope option may be unfiltered suggestions acrossmultiple domains (e.g., across multiple search scopes). In the scopeoptions portion 316, various scope options, including “Apps,”“Settings,” “Files,” and “Web” are displayed which allow the user torefine the user's intent to produce the most relevant search results,whether the user desires to search locally, on the web, or both. It isnoted that the specific set of scope options provided to a user could bestatic (unchanging) or could be dynamic based on signals such as theuser's past use, location, installed software, system capabilities, oruser preferences.

Additionally, in one aspect and as shown in FIG. 3, the user may havethe option to hide the scope options portion 316 of the zero input box320, or at least hide the scope options themselves. Item 318 representsa selectable option that will either hide the scope options or causethem to reappear, if they have been previously hidden. While the scopeoptions are illustrated in a single row in FIG. 3, the scope optionscould be presented in any other way, such as in multiple rows. Also,while four exemplary scope options are illustrated, it is contemplatedthat there could be any other number of scope options. For example, inaddition to those illustrated in FIG. 3, scope options could include“Photos,” “Music,” “Videos,” etc.

FIG. 4 illustrates a screenshot of an exemplary desktop 400 having azero input box and scope options, in accordance with aspects herein. Asshown in FIG. 4, a user is currently hovering over scope option 410, asindicated by cursor 412 on scope option 410. In aspects, the scopeoption that the cursor is hovering over could visually be changed, suchas a box, highlight, different color, etc. As shown here, scope option410 has a box around it to indicate to the user that the user ishovering over that scope option. FIG. 5 illustrates the result of theuser selecting the “Files” scope option. As shown here, the user hasselected the “Files” scope option 510, resulting in a new, and refinedset of search results 512. For example, instead of generic results,search results 512 are tailored to the user's selection of the “Files”scope option 510, and thus are solely comprised of files, such as fileson the user's desktop or other local drive. As shown here, “Recentactivity” in the search results portion of the zero input box has beenfiltered to show only items of type “file.” Additionally, in thisaspect, the search box 514 has been updated to state “Files:” 516,indicating how the search has been refined. The indication is useful tothe user as confirmation feedback that their action has had an effect.Additionally, functionally, this string is interpreted by the searchresults generator as a partial query, which is how the scopedsuggestions are generated in the next step.

In aspects, the entering of “Files:” 516 into the search box 514 is anautomatic action by the system and does not require user input or useraction. This automatic entering of “Files:” 516 into the search box 514may occur as a result of the user selecting the “Filed” scope option. Atthis point, the user's intended result may already be shown in the list,enabling the user to select the desired result with just one moreselection (e.g., click). At this point, the user has not entered anycharacters into the search box 514.

Referring now to FIG. 6, a screenshot of an exemplary desktop 600 isdepicted having a zero input box, in accordance with aspects herein.From FIG. 5 to FIG. 6, the user has entered characters into the searchbox 620. Here, the user has inputted “table tennis” after “Files:” tofurther refine the search results. The search results portion of thezero input box, including both portions 612 and 614, illustrates how theresults have been filtered to reflect the scope of “Files” and to onlyshow those matches for the full-text query of “Files: table tennis.”FIG. 6 additionally illustrates how the user is presented with the “bestmatch for files” 610, and is also provided with a mechanism to changethe scope without starting the search over. Selectable item 616 can beselected by the user using cursor 618, for example, to cause the scopeoptions to reappear on the zero input box, allowing the user to select adifferent scope option.

With the reappearance of the scope options, the user may elect to changescopes of the search. FIG. 7 is a screenshot of an exemplary desktop 700having a zero input box and search options, in accordance with aspectsherein, and illustrates how the scope options 710 are now visible to theuser on the zero input box. Scope option 712 is still visibly differentthan the others (e.g., highlighted, boxed, etc.), indicating that thecurrent results are still filtered to that scope option 714. Asillustrated in FIG. 8, which is a screenshot of an exemplary desktop 800having a zero input box and search options, the user is hovering over adifferent scope option “Apps” 810, as shown by the cursor 812 hoveringover the scope option “Apps.” FIG. 9 illustrates another exemplarydesktop 900 having the new, filtered and refined search resultsaccording to the newly selected scope option “Apps.” A best match 910for this scope option is provided, in addition to the search results 912that are filtered to only display applications. In some aspects,selecting a scope options such as “Apps” provides only those resultsthat are stored locally, only those that are found by way of a websearch, or both.

Turning now to FIG. 10, a flow diagram depicting a method 1000 isillustrated for enabling a user to narrow a scope of a search on acomputing device to provide relevant search results to the user, inaccordance with an aspect of the technology described herein. Initiallyat box 1010, a plurality of scope options is communicated forpresentation, where the user may select one of the scope options tofilter the search results. The scope options, in one aspect, arecommunicated for presentation prior to receiving a search query from theuser in a search box of a desktop taskbar. The plurality of scopeoptions allows the user to select from web-based searches, localsearches or a combination thereof. Even before a scope option isselected by the user, generic search results may be displayed, such asrecent items for the user, or popular searches. At block 1012, aselection is received from the user of one of the scope options.Exemplary scope options include an applications, files, settings, web,music, photos, videos, etc. Suggested search results to be presented tothe user are generated at block 1014. These suggested search results aregenerated based on the received selection of the scope option, and thusthe search results are of a type consistent with the selected scopeoption.

At block 1016, the suggested search results are communicated forpresentation on a display of the user's computing device. Once thesuggested search results are displayed, the scope options may be removedfrom display. In some aspects, the scope options may appear, disappear,and/or reappear on the display without any user interaction, such asbased on a determination of where the user is in his/her current search.In other aspects, the user may have control of when the scope optionsare displayed. For instance, a selectable option may be displayed that,when selected, causes the scope options to appear or to disappear fromthe display. In still other aspects, the system may operate to determinewhen to display the scope options, but the user may also have control ofthis.

Once the user has selected a first scope option, such as at block 1012,the user may proceed to select a second and different scope option. Asecond set of search results may be generated based on the receivedsecond selection of the scope options. These results are thencommunicated for presentation on the user's display. The user selectionof a second or other subsequent scope options may either further refineor narrow the previous set of search results, or may take into accountall search results and refine them from that point of the search. Atsome point during this process, such as either or both of after the userselects a first or second scope option, the user may enter a searchquery into the search box, such as of the desktop toolbar.

FIG. 11 is a flow diagram depicting another method 1100 for enabling auser to narrow a scope of a search on a computing device to providerelevant search results to the user, in accordance with an aspect of thetechnology described herein. At block 1110, a search box on a desktoptaskbar is provided. An indication is received at block 1112 that theuser is interacting with the search box. The indication could be a hoveraction, a click on the search box, or the like. At block 1114, scopeoptions are communicated for presentation, where the scope options allowthe user to select from web-based searches or local searches. The scopeoptions may be communicated for presentation even before a search queryhas been received from the user in the search box of the desktoptaskbar. Prior to a scope option being selected, generic search resultsmay be communicated for presentation, such as those related to theuser's recent activity or popular searches. At block 1116, a selectionof a scope option is received. Based on this selection, it is determinedwhether there are any suggested search results to be generated based onthe selected scope option, shown at block 1118. If it is determined thatthere are suggested search results at block 1120, at least one suggestedsearch results is generated and are communicated for presentation.However, if, at block 1122, it is determined that there are not anysuggested search results, an indication may be provided to the user toenter at least a portion of a search query. The suggested search resultsgenerated as a result of the user entering a query may be filtered orrefined based on the scope option previously selected by the user. Assuch, after the scope option has been selected, the user may desire tofurther refine the search results by entering a search query into thesearch box of the desktop taskbar.

Referring now to FIG. 12, an exemplary operating environment forimplementing aspects of the technology described herein is shown anddesignated generally as computing device 1200. Computing device 1200 isjust one example of a suitable computing environment and is not intendedto suggest any limitation as to the scope of use of the technologydescribed herein. Neither should the computing device 1200 beinterpreted as having any dependency or requirement relating to any oneor combination of components illustrated.

The technology described herein may be described in the general contextof computer code or machine-useable instructions, includingcomputer-executable instructions such as program components, beingexecuted by a computer or other machine, such as a personal dataassistant or other handheld device. Generally, program components,including routines, programs, objects, components, data structures, andthe like, refer to code that performs particular tasks or implementsparticular abstract data types. The technology described herein may bepracticed in a variety of system configurations, including handhelddevices, consumer electronics, general-purpose computers, specialtycomputing devices, etc. Aspects of the technology described herein mayalso be practiced in distributed computing environments where tasks areperformed by remote-processing devices that are linked through acommunications network.

With continued reference to FIG. 12, computing device 1200 includes abus 1210 that directly or indirectly couples the following devices:memory 1212, one or more processors 1214, one or more presentationcomponents 1216, input/output (I/O) ports 1218, I/O components 1220, andan illustrative power supply 1222. Bus 1210 represents what may be oneor more busses (such as an address bus, data bus, or a combinationthereof). Although the various blocks of FIG. 12 are shown with linesfor the sake of clarity, in reality, delineating various components isnot so clear, and metaphorically, the lines would more accurately begrey and fuzzy. For example, one may consider a presentation componentsuch as a display device to be an I/O component. Also, processors havememory. The inventors hereof recognize that such is the nature of theart and reiterate that the diagram of FIG. 12 is merely illustrative ofan exemplary computing device that can be used in connection with one ormore aspects of the technology described herein. Distinction is not madebetween such categories as “workstation,” “server,” “laptop,” “handhelddevice,” etc., as all are contemplated within the scope of FIG. 12 andrefer to “computer” or “computing device.” The computing device 1200 maybe a PC, a tablet, a smartphone, virtual reality headwear, augmentedreality headwear, a game console, and such.

Computing device 1200 typically includes a variety of computer-readablemedia. Computer-readable media can be any available media that can beaccessed by computing device 1200 and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable media may comprise computerstorage media and communication media. Computer storage media includesboth volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer-readable instructions, data structures, program modules, orother data.

Computer storage media includes RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical disk storage, magnetic cassettes, magnetic tape, magnetic diskstorage, or other magnetic storage devices. Computer storage media doesnot comprise a propagated data signal.

Communication media typically embodies computer-readable instructions,data structures, program modules, or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, and other wireless media. Combinations of any ofthe above should also be included within the scope of computer-readablemedia.

Memory 1212 includes computer storage media in the form of volatileand/or nonvolatile memory. The memory 1212 may be removable,non-removable, or a combination thereof. Exemplary memory includessolid-state memory, hard drives, optical-disc drives, etc. Computingdevice 1200 includes one or more processors 1214 that read data fromvarious entities such as bus 1210, memory 1212, or I/O components 1220.Presentation component(s) 1216 present data indications to a user orother device. Exemplary presentation components 1216 include a displaydevice, speaker, printing component, vibrating component, etc. I/O ports1218 allow computing device 1200 to be logically coupled to otherdevices, including I/O components 1220, some of which may be built in.

Illustrative I/O components include a microphone, joystick, game pad,satellite dish, scanner, printer, display device, wireless device, acontroller (such as a stylus, a keyboard, and a mouse), a natural userinterface (NUI), and the like. In aspects, a pen digitizer (not shown)and accompanying input instrument (also not shown but which may include,by way of example only, a pen or a stylus) are provided in order todigitally capture freehand user input. The connection between the pendigitizer and processor(s) 1214 may be direct or via a couplingutilizing a serial port, parallel port, and/or other interface and/orsystem bus known in the art. Furthermore, the digitizer input componentmay be a component separate from an output component such as a displaydevice, or in some aspects, the usable input area of a digitizer maycoexist with the display area of a display device, be integrated withthe display device, or may exist as a separate device overlaying orotherwise appended to a display device. Any and all such variations, andany combination thereof, are contemplated to be within the scope ofaspects of the technology described herein.

An NUI processes air gestures, voice, or other physiological inputsgenerated by a user. Appropriate NUI inputs may be interpreted as inkstrokes for presentation in association with the computing device 1200.These requests may be transmitted to the appropriate network element forfurther processing. An NUI implements any combination of speechrecognition, touch and stylus recognition, facial recognition, biometricrecognition, gesture recognition both on screen and adjacent to thescreen, air gestures, head and eye tracking, and touch recognitionassociated with displays on the computing device 1200. The computingdevice 1200 may be equipped with depth cameras, such as stereoscopiccamera systems, infrared camera systems, RGB camera systems, andcombinations of these, for gesture detection and recognition.Additionally, the computing device 1200 may be equipped withaccelerometers or gyroscopes that enable detection of motion. The outputof the accelerometers or gyroscopes may be provided to the display ofthe computing device 1200 to render immersive augmented reality orvirtual reality.

The computing device 1200 may include a radio 1224. The radio transmitsand receives radio communications. The computing device 1200 may be awireless terminal adapted to receive communications and media overvarious wireless networks. Computing device 1200 may communicate viawireless protocols, such as code division multiple access (“CDMA”),global system for mobiles (“GSM”), or time division multiple access(“TDMA”), as well as others, to communicate with other devices. Theradio communications may be a short-range connection, a long-rangeconnection, or a combination of both a short-range and a long-rangewireless telecommunications connection. When we refer to “short” and“long” types of connections, we do not mean to refer to the spatialrelation between two devices. Instead, we are generally referring toshort range and long range as different categories, or types, ofconnections (i.e., a primary connection and a secondary connection). Ashort-range connection may include a Wi-Fi® connection to a device(e.g., mobile hotspot) that provides access to a wireless communicationsnetwork, such as a WLAN connection using the 802.11 protocol. ABluetooth® connection to another computing device is a second example ofa short-range connection. A long-range connection may include aconnection using one or more of CDMA, GPRS, GSM, TDMA, and 802.16protocols.

EMBODIMENTS SECTION

Embodiment 1: A method for enabling a user to narrow a scope of a searchon a computing device to provide relevant search results to the user,the method comprising: prior to receiving a search query from the userin a search box of a desktop taskbar, communicating for presentation aplurality of scope options from which the user can select, wherein theplurality of scope options enable the user to select from web-basedsearches and local searches; receiving a selection from the user of oneof the plurality of scope options; based on the received selection ofthe one of the plurality of scope options, generating at least onesuggested search result to present to the user; and communicating forpresentation the at least one suggested search result on a display ofthe computing device.

Embodiment 2: The method of Embodiment 1, further comprising removingfrom display the plurality of scope options subsequent to thecommunication of the at least one suggested search result.

Embodiment 3: The method of any of the above Embodiments, furthercomprising displaying a selectable option that, when selected, causesthe plurality of scope options to be displayed.

Embodiment 4: The method of any of the above Embodiments, furthercomprising: receiving a second selection by the user of a second of theplurality of scope options; generating a second set of one or moresearch results based on the received second selection by the user of thesecond of the plurality of scope options; and communicating forpresentation the second set of the one or more suggested search resultsthat are based on the received second selection of the second of theplurality of scope options.

Embodiment 5: The method of any of the above Embodiments, wherein the atleast one suggested search result is of a type consistent with theselected one of the plurality of scope options.

Embodiment 6: The method of any of the above Embodiments, wherein theplurality of scope options comprise one or more of an applicationsoption, a settings option, a files options, or a web option.

Embodiment 7: The method of any of the above Embodiments, furthercomprising receiving the search query from the user in the search box ofthe desktop taskbar.

Embodiment 8: The method of Embodiment 7, wherein the search query isreceived after the selection is received of the one of the plurality ofscope options.

Embodiment 9: The method of any of the above Embodiments, furthercomprising communicating for presentation one or more generic searchresults.

Embodiment 10: The method of Embodiment 9, wherein the one or moregeneric search results relate to the user's recent activity or popularsearches.

Embodiment 11: A computing device comprising: at least one processor;and a computer storage memory having computer-executable instructionsstored thereon which, when executed by the at least one processor,configure the computing device to: prior to receiving a search queryfrom the user in a search box of a desktop taskbar, communicate forpresentation a plurality of scope options from which the user canselect, wherein the plurality of scope options enable the user to selectfrom web-based searches and local searches, receive a selection from theuser of one of the plurality of scope options, based on the receivedselection of the one of the plurality of scope options, generate atleast one suggested search result to present to the user, andcommunicate for presentation the at least one suggested search result ona display of the computing device.

Embodiment 12: The computing device of Embodiment 11, wherein thecomputing device is further configured to: receive a second selection bythe user of a second of the plurality of scope options; generating asecond set of one or more search results based on the received secondselection by the user of the second of the plurality of scope options;and communicating for presentation the second set of the one or moresuggested search results that are based on the received second selectionof the second of the plurality of scope options.

Embodiment 13: The computing device of any of Embodiments 11 or 12,wherein the computing device is further configured to: receive a secondselection by the user of a second of the plurality of scope options;generating a second set of one or more search results based on thereceived second selection by the user of the second of the plurality ofscope options; and communicating for presentation the second set of theone or more suggested search results that are based on the receivedsecond selection of the second of the plurality of scope options.

Embodiment 14: One or more computer storage hardware devices havingcomputer-executable instructions embodied thereon that, when executed,enable a user to narrow a scope of a search on a computing device toprovide relevant search results to the user, the method comprising:providing a search box on a desktop taskbar, where the search boxenables the user to search both on the web and locally; receiving anindication that the user is interacting with the search box; in responseto the indication and prior to receiving a search query from the user inthe search box of the desktop taskbar, communicating for presentation aplurality of scope options that allow the user to select from web-basedsearches or local searches; receiving a selection from the user of oneof the plurality of scope options; determining whether there are anysuggested search results based on the received selection of the one ofthe plurality of scope options; if it is determined that there aresuggested search results, generating one or more suggested searchresults based on the received selection of the one of the plurality ofscope options, and communicating for presentation the one or moresuggested search results that are based on the received selection of theone of the plurality of scope options; and if it is determined thatthere are not any suggested search results, providing an indication tothe user to enter at least a portion of a search query in the searchbox.

Embodiment 15: The one or more computer storage hardware devices ofEmbodiment 14, wherein if it is determined that there are not anysuggested search results, further comprising: receiving the at least theportion of the search query in the search box; and generating one ormore suggested search results that are filtered according to thereceived selection of the one of the plurality of scope options.

Embodiment 16: The one or more computer storage hardware devices ofEmbodiment 14, further comprising generating one or more generic searchresults to provide to the user prior to the user has selected the one ofthe plurality of scope options, wherein the one or more generic searchresults relate to one or more of the user's recent activity or popularsearches.

Embodiment 17: The one or more computer storage hardware devices of anyof Embodiments 14-16, further comprising: receiving a second selectionby the user of a second of the plurality of scope options; determiningwhether there are any suggested search results based on the receivedsecond selection of the second of the plurality of scope options; if itis determined that there are suggested search results, generating one ormore suggested search results based on the received second selection ofthe second of the plurality of scope options, and communicating forpresentation the one or more suggested search results that are based onthe received second selection of the second of the plurality of scopeoptions; and if it is determined that there are not any suggested searchresults, providing an indication to the user to enter at least a portionof a search query in the search box.

Embodiment 18: The one or more computer storage hardware devices of anyone of Embodiment 14-17, wherein the plurality of scope options compriseone or more of an applications option, a settings option, a filesoptions, or a web option.

Embodiment 19: The one or more computer storage hardware devices of anyone of Embodiments 14-18, further comprising receiving the search queryfrom the user in the search box of the desktop taskbar.

Embodiment 20: The one or more computer storage hardware devices ofEmbodiment 19, wherein the search query is received after the selectionis received of the one of the plurality of scope options.

Aspects of the technology have been described to be illustrative ratherthan restrictive. It will be understood that certain features andsubcombinations are of utility and may be employed without reference toother features and subcombinations. This is contemplated by and iswithin the scope of the claims.

The invention claimed is:
 1. A method for enabling a user to narrow ascope of a search on a computing device to provide relevant searchresults to the user, the method comprising: communicating forpresentation a plurality of scope options from which the user canselect, wherein the plurality of scope options enable the user to selectfrom web-based searches and local searches; receiving a selection fromthe user of one of the plurality of scope options; based on the receivedselection of the one of the plurality of scope options, generating atleast one suggested search result to present to the user; andcommunicating for presentation the at least one suggested search resulton a display of the computing device.
 2. The method of claim 1, furthercomprising removing from display the plurality of scope optionssubsequent to the communication of the at least one suggested searchresult.
 3. The method of claim 1, further comprising displaying aselectable option that, when selected, causes the plurality of scopeoptions to be displayed.
 4. The method of claim 1, further comprising:receiving a second selection by the user of a second of the plurality ofscope options; generating a second set of one or more search resultsbased on the received second selection by the user of the second of theplurality of scope options; and communicating for presentation thesecond set of the one or more suggested search results that are based onthe received second selection of the second of the plurality of scopeoptions.
 5. The method of claim 1, wherein the at least one suggestedsearch result is of a type consistent with the selected one of theplurality of scope options.
 6. The method of claim 1, wherein theplurality of scope options comprise one or more of an applicationsoption, a settings option, a files options, or a web option.
 7. Themethod of claim 1, further comprising receiving the initial search queryfrom the user in a search box.
 8. The method of claim 1, wherein theinitial search query is received after the selection is received of theone of the plurality of scope options.
 9. The method of claim 7, furthercomprising communicating for presentation one or more generic searchresults.
 10. The one or more computer storage hardware devices of claim1, wherein the at least one suggested search result relates to theuser's recent activity or popular searches.
 11. A computing devicecomprising: at least one processor; and a computer storage memory havingcomputer-executable instructions stored thereon which, when executed bythe at least one processor, configure the computing device to:communicate for presentation a plurality of scope options from which theuser can select, wherein the plurality of scope options enable the userto select from web-based searches and local searches, receive aselection from the user of one of the plurality of scope options, basedon the received selection of the one of the plurality of scope options,generate at least one suggested search result to present to the user,and communicate for presentation the at least one suggested searchresult on a display of the computing device.
 12. The system of claim 11,wherein the plurality of scope options comprise one or more of anapplications option, a settings option, a files options, or a weboption.
 13. The system of claim 11, wherein the computing device isfurther configured to: receive a second selection by the user of asecond of the plurality of scope options; generating a second set of oneor more search results based on the received second selection by theuser of the second of the plurality of scope options; and communicatingfor presentation the second set of the one or more suggested searchresults that are based on the received second selection of the second ofthe plurality of scope options.
 14. One or more computer storagehardware devices having computer-executable instructions embodiedthereon that, when executed, enable a user to narrow a scope of a searchon a computing device to provide relevant search results to the user,the method comprising: providing a search box, where the search boxenables the user to search both on the web and locally; receiving anindication that the user is interacting with the search box; in responseto the indication, communicating for presentation a plurality of scopeoptions that allow the user to select from web-based searches or localsearches; receiving a selection from the user of one of the plurality ofscope options; determining whether there are any suggested searchresults based on the received selection of the one of the plurality ofscope options; if it is determined that there are suggested searchresults, (1) generating one or more suggested search results based onthe received selection of the one of the plurality of scope options, and(2) communicating for presentation the one or more suggested searchresults that are based on the received selection of the one of theplurality of scope options; and if it is determined that there are notany suggested search results, providing an indication to the user toenter at least a portion of a search query in the search box.
 15. Theone or more computer storage hardware devices of claim 14, wherein if itis determined that there are not any suggested search results, furthercomprising: receiving the at least the portion of the initial searchquery in the search box; and generating one or more suggested searchresults that are filtered according to the received selection of the oneof the plurality of scope options.
 16. The one or more computer storagehardware devices of claim 14, further comprising generating one or moregeneric search results to provide to the user prior to the userselecting the one of the plurality of scope options, wherein the one ormore generic search results relate to one or more of the user's recentactivity or popular searches.
 17. The one or more computer storagehardware devices of claim 14, further comprising: receiving a secondselection by the user of a second of the plurality of scope options;determining whether there are any suggested search results based on thereceived second selection of the second of the plurality of scopeoptions; if it is determined that there are suggested search results,(1) generating one or more suggested search results based on thereceived second selection of the second of the plurality of scopeoptions, and (2) communicating for presentation the one or moresuggested search results that are based on the received second selectionof the second of the plurality of scope options; and if it is determinedthat there are not any suggested search results, providing an indicationto the user to enter at least a portion of a search query in the searchbox.
 18. The one or more computer storage hardware devices of claim 14,wherein the plurality of scope options comprise one or more of anapplications option, a settings option, a files options, or a weboption.
 19. The one or more computer storage hardware devices of claim14, further comprising receiving the initial search query from the userin the search box.
 20. The one or more computer storage hardware devicesof claim 19, wherein the initial search query is received after theselection is received of the one of the plurality of scope options.